export function format (fmt, date) {
  if (date.isPrototypeOf(Number)) {
    date = new Date(date)
  }
  const o = {
    'M+': date.getMonth() + 1, // 月份
    'd+': date.getDate(), // 日
    'H+': date.getHours(), // 小时
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
    'S': date.getMilliseconds() // 毫秒
  }
  if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) }
  for (const k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) }
  }
  return fmt
}

export function formatNumber (number) {
  if (typeof number === 'undefined') {
    number = 0
  }
  var s = number.toString()
  var length = s.length
  if (length <= 3) {
    return s
  } else {
    var sArray = []
    let strStart = length % 3
    if (strStart === 0) {
      strStart = 3
    }
    var first = s.slice(0, strStart)
    sArray.push(first)
    for (let i = strStart; i <= length; i += 3) {
      sArray.push(s.slice(i, i + 3))
    }
    var s1 = sArray.join(',')
    return s1.slice(0, s1.length - 1)
  }
}

export function stringToDate (dateStr, separator) {
  if (!separator) {
    separator = '-'
  }
  var dateArr = dateStr.split(separator)
  var year = parseInt(dateArr[0])
  var month
  // 处理月份为04这样的情况
  if (dateArr[1].indexOf('0') === 0) {
    month = parseInt(dateArr[1].substring(1))
  } else {
    month = parseInt(dateArr[1])
  }
  var day = parseInt(dateArr[2])
  var date = new Date(year, month - 1, day)
  return date
}

/**
 * 格式化文字
 * @param dateStr
 * @param separator
 * @returns {Date}
 */
export function shortenStr (str) {
  if (str.length > 6) {
    var str1 = str.slice(0, 5)
    str = str1 + '...'
  }
  return str
}
